package logique.solution;

import logique.programme.Vecteur;

public class VariableReelle extends Variable {

	private double borneMin;
	private double borneMax;
	
	public VariableReelle(Vecteur v, int index) {
		super(v, index);
	}
	public VariableReelle (Vecteur v, int index, double borneMin, double borneMax) {
		super(v, index);
		this.borneMin = borneMin;
		this.borneMax = borneMax;
	}

	public int getBorneMinEnt() {
		return (int) borneMin;
	}
	public int getBorneMaxEnt() {
		return (int) borneMax;
	}
	public double getBorneMinReel() {
		return borneMin;
	}
	public double getBorneMaxReel() {
		return borneMax;
	}
	public void setBorneMin(int n) {
		this.borneMin = n;
	}
	public void setBorneMax(int n) {
		this.borneMax = n;
	}
	public void setBorneMin(double x) {
		this.borneMin = x;
	}
	public void setBorneMax(double x) {
		this.borneMax = x;
	}
	
	public Affectation<Double> creerAffectation(Double valeur) {
		return new Affectation<Double>(valeur, this);
	}
	
	public String toString () {
		return "(reel " + toStringCourt() + ", min=" + borneMin + ", max=" + borneMax + ")";
	}
	public void afficher () {
		System.out.print("(reel " + toStringCourt() + ", min=" + borneMin + ", max=" + borneMax + ")");
	}
	@Override
	public Variable getCopy(Vecteur v) {
		return new VariableReelle(v, getIndex(), borneMin, borneMax);
	}
}